Task completion in email using third party app

ABSTRACT

Among other things, one or more techniques and/or systems for providing a third party app through an email user interface are provided. That is, an email user interface may provide access to an email comprising email content (e.g., a message regarding meeting for dinner at the Emerald Tavern). The email content may be analyzed to identify an entity referenced by the email content (e.g., an Emerald Tavern entity). A user intent to accomplish a task may be determined based upon the entity. An action that may be performed to accomplish the task, and a third party app capable of performing the action may be presented through the email user interface (e.g., a restaurant reservation app capable of a reservation task). Responsive to selection of the third party app, the third party app may be executed within the email user interface without transitioning a user away from the immersive email experience.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of application Ser. No. 13/713,279,now U.S. Pat. No. 9,313,162, filed Dec. 13, 2012 which is herebyincorporated by reference in its entirety. To the extent appropriate,the present application claims priority to the above-referencedapplication.

BACKGROUND

Many users communicate and/or share information through email. Acomputing device, such as a personal computer, a mobile device, and/or atablet device, may host an email user interface through which a user maysend, receive, read, and/or organize email. An email may comprise emailcontent that may reference various entities, such as people, locations,businesses, consumer goods, objects, and/or other things. In an example,a subject line of an email may state “Dinner at Emerald Tavern at 5:00”,which may be indicative of an Emerald Tavern entity, a dinner entity,and/or a time entity. In another example, a message body of an email maystate “Do you want to go see the new Rock Group at the Music Hall nextweek”, which may be indicative of a concert entity, a Rock Group entity,and/or a Music Hall entity. Based upon such emails, a user may set outto accomplish a task, such as a view menu task, a reserve table task, abuy tickets task, a listen to music task, etc. In this way, the user maymanually leave the email user interface, open a web browser interface,and perform a web search for a particular website and/or service thatmay facilitate completion of the task.

SUMMARY

This summary is provided to introduce a selection of concepts in asimplified form that are further described below in the detaileddescription. This summary is not intended to identify key factors oressential features of the claimed subject matter, nor is it intended tobe used to limit the scope of the claimed subject matter.

Among other things, one or more systems and/or techniques for providinga third party app through an email user interface are provided herein.That is, an email user interface (e.g., a desktop email application, amobile device email application, a tablet device email application, awebsite based email service, etc.) may provide various emailfunctionality, such as sending, receiving, viewing, and/or organizingemails. An email may comprise email content, such as textual dataassociated with a message body, email metadata, a subject line, and/orother portions of the email. Email content may be analyzed to identifyone or more entities referenced by the email content. For example, awork email may comprise email content “Hey Dan, we need to buy that newPrinter Model Z”. The email content may be parsed to identify a PrinterModel Z entity and/or other entities referenced by the email content(e.g., a Dan entity, a purchase entity, etc.). A user intent toaccomplish a task may be determined based upon the entity. For example,a user intent to purchase the new Printer Model Z may be determined. Itmay be advantageous to facilitate completion of a purchase task by theuser through a third party application without transitioning away fromthe email experience and/or environment (e.g., facilitating the purchasetask without navigating away from the email user interface).

Accordingly, an action (e.g., a purchase office product action), whichmay be performed to accomplish the purchase task, may be presentedthrough the email user interface. A third party app (e.g., and/or otherthird party apps) capable of performing the action to accomplish thetask may be presented through the email user interface. In an example,the third party app may be selected based upon supplemental contentderived from a user device hosting the email user interface (e.g., acurrent location of the user device, which may indicate a relativelyclose store from which the user may pick up the Printer Model Z), a userprofile (e.g., the user may have an account with a particular officeproduct store), and/or a user preference (e.g., the user may prefer touse a particular office product store based upon the user having acoupon for the office product store).

Responsive to a selection of the third party app, the third party appmay be executed within the email user interface (e.g., the third partyapp may be displayed within a first portion of the email user interface,while the email content and/or other email data or UI elements may bedisplayed within a second portion of the email user interface). Theemail user interface may be executed according to a user intentexecution context corresponding to the entity, the email content,supplemental content, and/or the action, etc. For example, instead ofmerely opening the third party app to a home screen, the third party appmay be opened to a purchase screen for the Printer Model Z that may becontextually relevant to the user. In this way, the user may interactwith the third party app to execute the action in order to accomplishthe task without leaving the email user interface, thus allowing theuser to accomplish various tasks referenced by email content withouttransitioning away from the email experience.

In an example, the task may correspond to a threshold amount ofinformation and/or an importance threshold. For example, a businessacquisition task may entail reviewing relatively large amounts ofinformation from multiple sources and/or may have a relatively highimportance due to a large amount of money involved. Accordingly, a linkto a third party app native version capable of executing outside of theemail user interface (e.g., a business acquisition applicationconfigured to execute within a desktop environment, as opposed to abusiness acquisition app module configured to execute within the emailuser interface) may be provided. Responsive to a selection of the link,the user experience may be transitioned from execution of the thirdparty app (e.g., the business acquisition app module) within the emailuser interface to execution of the third party app native versionoutside of the email user interface. User intent execution context maybe passed to the third party app native version for execution (e.g., aname of the business that is to be acquired).

To the accomplishment of the foregoing and related ends, the followingdescription and annexed drawings set forth certain illustrative aspectsand implementations. These are indicative of but a few of the variousways in which one or more aspects may be employed. Other aspects,advantages, and novel features of the disclosure will become apparentfrom the following detailed description when considered in conjunctionwith the annexed drawings.

DESCRIPTION OF THE DRAWINGS

FIG. 1 is a flow diagram illustrating an exemplary method of providing athird party app through an email user interface.

FIG. 2A is a component block diagram illustrating an exemplary systemfor providing a third party app through an email user interface.

FIG. 2B is a component block diagram illustrating an exemplary systemfor providing a third party app through an email user interface.

FIG. 3A is a component block diagram illustrating an exemplary systemfor providing a third party app through an email user interface.

FIG. 3B is a component block diagram illustrating an exemplary systemfor providing a third party app through an email user interface.

FIG. 4A is a component block diagram illustrating an exemplary systemfor providing access to a third party app native version executedaccording to a user intent execution context derived from email content.

FIG. 4B is a component block diagram illustrating an exemplary systemfor providing access to a third party app native version executedaccording to a user intent execution context derived from email content.

FIG. 5 is an illustration of an exemplary computing device-readablemedium wherein processor-executable instructions configured to embodyone or more of the provisions set forth herein may be comprised.

FIG. 6 illustrates an exemplary computing environment wherein one ormore of the provisions set forth herein may be implemented.

DETAILED DESCRIPTION

The claimed subject matter is now described with reference to thedrawings, wherein like reference numerals are generally used to refer tolike elements throughout. In the following description, for purposes ofexplanation, numerous specific details are set forth in order to providean understanding of the claimed subject matter. It may be evident,however, that the claimed subject matter may be practiced without thesespecific details. In other instances, structures and devices areillustrated in block diagram form in order to facilitate describing theclaimed subject matter.

An embodiment of providing a third party app through an email userinterface is illustrated by an exemplary method 100 in FIG. 1. At 102,the method starts. In an example, the email user interface (e.g., anemail office productivity desktop application) may provide access to anemail comprising email content. At 104, the email content may beanalyzed (e.g., text of the email content may be parsed) to identify anentity (e.g., and/or other entities) referenced by the email content.The entity may comprise a person entity, a business entity, a consumerproduct entity, a time entity, a location entity, an object entity,and/or any other type of entity. For example, the email content maycomprise the text “Hey Dan, we should meet tonight at the New Theaternear you to watch that Holiday Movie”. A New Theater entity, a HolidayMovie entity, and/or other entities (e.g., a current location entity, afriend entity, a time entity, etc.) may be identified.

At 106, a user intent to accomplish a task may be determined based uponthe entity. For example, a user intent to purchase movie tickets for theHoliday Movie playing at the New Theater may be determined. In anexample, the task may not comprise an email related task that mayotherwise be accomplished by the email user interface. At 108, an actionthat may be performed to accomplish the task may be presented throughthe email user interface. For example, a book movie tickets action maybe presented. At 110, a third party app (e.g., and/or other third partyapps) capable for performing the action to accomplish the task maybepresented through the email user interface. In an example, the thirdparty app may be selected for presentation based upon supplementalcontent derived from information associated with a user device hostingthe email user interface (e.g., the user device may comprise a ticketreservation receipt from a particular third party app that may allow theuser to confirm a prior reservation for the Holiday Movie), a userprofile (e.g., the user may have an account with a particular thirdparty app), and/or a user preference (e.g., a third party app capable ofaccepting payments from an online payment account may be used based uponthe user having a (e.g., historical) preference to make purchases usingthe online payment account, as opposed to a credit card). In an example,the third party app may comprise non-email related functionality, suchas booking movie tickets functionality that may not be provided by theemail user interface. It may be appreciated that in an example, a thirdparty app may comprise functionality associated with various types oftasks, such as a consumer good purchase task, a reservation task, anobtain directions task, an access digital content task (e.g., anarticle, a webpage, a social network profile, a text document, an image,text, audio, video, etc.), a social network task (e.g., create an eventor post), obtain additional information related to an entity task (e.g.,preview a book), etc.

In an example, a second user intent to accomplish a second task may bedetermined based upon the entity (e.g., and/or other entities identifiedfrom the email content). For example, a preview movie task for theHoliday Movie may be determined. A second action that may be performedto accomplish the second task may be presented through the email userinterface (e.g., along with the action). One or more additional thirdparty apps capable of performing the second action to accomplish thesecond task may be presented through the email user interface. In thisway, the user may be provided with access to various actions and/orthird party apps based upon the email content.

At 112, responsive to selection of the third party app (e.g., a movieapp), the third party app may be executed within the email userinterface (e.g., without transitioning the user away from the email userinterface and/or an immersive email experience provided by the emailuser interface). For example, the third party app may be displayedwithin a first portion of the email user interface, while email contentor UI elements may be displayed within a second portion of the emailuser interface. The third party app may be executed according to a userintent execution context corresponding to the entity, the action, theemail content, supplemental content, and/or the task, etc. For example,instead of merely opening the movie app to a start screen (e.g., whichmay force the user to navigate through the movie app to get to moviebooking functionality and/or input additional information that may havebeen already comprised within the email content), the movie app may beopened to a movie booking screen for the Holiday Movie at the NewTheater. In an example of executing the movie app according to a userintent execution context, a parameter used to execute the action may beidentified (e.g., a book movie action may have a theater name parameter,a movie time parameter, a movie name parameter, etc.). A value for theparameter may be assigned to the parameter based upon the email content(e.g., the text “Holiday Movie”, “New Theater”, etc.) and/orsupplemental content derived from information associated with the userdevice (e.g., a current location), the user profile, and/or the userpreference (e.g., a favorite/liked theater). The parameter may beincluded within the user intent execution context, and the user intentexecution content may be passed to the movie app for execution.

In an example, the task may be determined as corresponding to athreshold amount of information (e.g., a movie production task that mayentail gathering various images, assigning images to frames, and/orgenerating a movie file for release to the public) and/or an importancethreshold (e.g., the movie production task may be for an unreleasedmovie worth a relatively large amount of money). In such a case, a usermay prefer to perform the task using a third party app native versioncapable of executing outside of the email user interface (e.g., adesktop application, a website, a web service, a mobile app, a tabletapp, an application marketplace app, and/or other apps). A link to thethird party app native version may therefore be provided through theemail user interface. Responsive to selection of the link, the executionof the third party app within the email user interface may betransitioned to execution of the third party app native version outsideof the email user interface. In an example, the user intent executioncontext (e.g., a movie name parameter derived from the email contentand/or supplemental content) may be passed to the third party app nativeversion for execution (e.g., the third party app native version may beopened to a movie creation page for the new movie, which may becontextually relevant to the user). In this way, the user may accomplishthe tasks through the email user interface and/or may accomplish tasksoutside the email user interface based upon the user intent executioncontext. At 114, the method ends.

FIG. 2A illustrates an example of a system 200 configured for providinga third party app through an email user interface 202. The system 200may comprise a task determination component 206 and/or an action brokercomponent 214. The system 200 may be associated with the email userinterface 202 configured to provide access to one or more emails, suchas an email comprising email content 204. The task determinationcomponent 206 may be configured to analyze the email content 204 (e.g.,text of the email content 204 may be parsed) to identify one or moreentities. For example, an Emerald Tavern entity 208 and/or otherentities may be identified based upon the email content 204 (e.g., aperson Dan entity, a food entity, a time entity, etc.). The taskdetermination component 206 may be configured to determine a user intent210 to accomplish one or more tasks based upon the Emerald Tavern entity208, the email content 204, and/or supplemental content (e.g.,information regarding a computing device hosting the email userinterface 202, a user profile, and/or user preference data, etc.). In anexample, a view menu task, a book a table task, and/or other tasks maybe determined.

The action broker component 214 may be configured to identify one ormore actions that may be used to accomplish the one or more tasks. Forexample, a view menu action 218 may be used to accomplish the view menutask, and a reserve seats action 224 may be used to accomplish the booka table task. The action broker component 214 may be configured topresent the one or more actions through the email user interface 202(e.g., presenting 212 through an action selection interface 216 hostedwithin the email user interface 202). The action broker component 214may be configured to identify one or more third party apps capable ofperforming the one or more actions. In an example, a menus r us app 220and a food expert app 222 may be identified as being capable ofperforming the view menu action 218. In another example, a tablereservation app 226 may be identified as being capable of performing thereserve seats action 224. In an example of identifying a third partyapp, the third party app may be selected based upon supplementalcontent, such as information associated with the device (e.g., a thirdparty app currently installed for use through the email user interface202, an ability to connect to an application marketplace to download athird party app, etc.), a user profile (e.g., a user may have an accountwith a third party app), and/or user preference data (e.g., the user mayprefer a particular third party app). In this way, the action brokercomponent 214 may present the one or more third party apps within theemail user interface 202 without transitioning a user away from animmersive email experience provided by the email user interface 202(e.g., presenting 212 through the action selection interface 216).

FIG. 2B illustrates an example of a system 230 configured for providinga third party app through an email user interface 202. It may beappreciated that in an example, the system 230 corresponds to the system200 of FIG. 2A. For example, the system 230 may comprise a taskdetermination component 206 and/or an action broker component 214. Thesystem 230 may be associated with the email user interface 202configured to provide access to one or more emails, such as an emailcomprising email content 204. In an example, the task determinationcomponent 206 may have identified an Emerald Tavern entity 208associated with the email content 204, and the action broker component214 may have presented one or more third party apps capable ofperforming an action to accomplish a task associated with the EmeraldTavern entity 208.

The action broker component 214 may be configured to receive a selection232 of a third party app presented through the email user interface 202(e.g., a user may select a table reservation app 236, capable ofperforming a reserve seats action (e.g., 224 FIG. 2A), from an actionselection interface (e.g., 216 FIG. 2A) displayed through the email userinterface 202). The action broker component 214 may be configured toexecute 234 the third party app within the email user interface 202. Forexample, the action broker component 214 may execute 234 a tablereservation app 236 within the email user interface 202. The tablereservation app 236 may be executed according to a user intent executioncontext corresponding to the Emerald Tavern entity 208, the reserveseats action (e.g., 224 FIG. 2A), and/or supplemental content. Forexample, the table reservation app 236 may utilize a restaurant nameparameter, a date parameter, a number of seat parameter, and/or otherparameters not illustrated in order to perform the reserve seats action(e.g., 224 FIG. 2A). A value of Emerald Tavern, identified by theEmerald Tavern entity 208, may be assigned to the restaurant nameparameter, and a 5:00 on July 5^(th) value 260 may be assigned to thedate parameter. The restaurant name parameter and the date parameter maybe included within the user intent execution context. The user intentexecution context may be passed to the table reservation app 236 forexecution. In this way, the table reservation app 236 may be opened to astate that may be contextually relevant to the user (e.g., the tablereservation app 236 may be opened to a table reservation action formhaving the Emerald Tavern and/or 5:00 on July 5^(th) already populatedwithin the table reservation action form).

FIG. 3A illustrates an example of a system 300 configured for providinga third party app through an email user interface 302. The system 300may comprise a task determination component 306 and/or an action brokercomponent 314. The system 300 may be associated with the email userinterface 302 configured to provide access to one or more emails, suchas an email comprising email content 304. The task determinationcomponent 306 may be configured to analyze the email content 304 (e.g.,text of the email content 304 may be parsed) to identify one or moreentities. For example, a Vegas entity 308 and/or other entities (e.g., atravel entity, an entertainment entity, a person Dan entity, a dateentity, etc.) may be identified based upon the email content 304. Thetask determination component 306 may be configured to determine a userintent 310 to accomplish one or more tasks based upon the Vegas entity308, the email content 304, and/or supplemental content 312 (e.g., adevice hosting the email user interface may have a current location ofOhio, which may indicate that the user intent 210 may relate to bookingan air flight and/or reserving a hotel as opposed to obtaining drivingdirections if the user was located relatively closer to Vegas). In anexample, a book flight task, a hotel reservation task, and/or othertasks may be identified based upon the Vegas entity 308 and/or thesupplemental content 312.

The action broker component 314 may be configured to identify one ormore actions that may be used to accomplish the one or more tasks. Forexample, a book flights action 318 may be used to accomplish the bookflight task, and a hotel reservation action 324 may be used toaccomplish the hotel reservation task. The action broker component 314may be configured to present the one or more actions through the emailuser interface 302 (e.g., presenting 328 through an action selectioninterface 316 hosted within the email user interface 302). The actionbroker component 314 may be configured to identify one or more thirdparty apps capable of performing the one or more actions. In an example,a flights r us app 320 and a flight expert app 322 may be identified asbeing capable of performing the book flight action 318. In anotherexample, a hotel reservation app 326 may be identified as being capableof performing the hotel reservation action 324. In this way, the actionbroker component 314 may present the one or more third party apps withinthe email user interface 302 without transitioning a user away from animmersive email experience provided by the email user interface 302(e.g., presenting 328 through the action selection interface 316).

FIG. 3B illustrates an example of a system 330 configured for providinga third party app through an email user interface 302. It may beappreciated that in an example, the system 330 corresponds to the system300 of FIG. 3A. For example, the system 330 may comprise a taskdetermination component 306 and/or an action broker component 314. Thesystem 330 may be associated with the email user interface 302configured to provide access to one or more emails, such as an emailcomprising email content 304. In an example, the task determinationcomponent 306 may have identified a Vegas entity 308 associated with theemail content 304 and/or may have identified supplemental content 312,such as a current location of a device hosting the email user interface302. The action broker component 314 may have presented one or morethird party apps capable of performing an action to accomplish a taskassociated with the Vegas entity 308 and/or the supplemental content312.

The action broker component 314 may be configured to receive a selection332 of a third party app presented through the email user interface 302(e.g., a user may select a flight expert app 336, capable of performinga book flight action (e.g., 318 FIG. 3A), from an action selectioninterface (e.g., 316 FIG. 3A) displayed through the email user interface302). The action broker component 314 may be configured to execute 334the third party app within the email user interface 302. For example,the action broker component 314 may execute 334 a flight expert app 336within the email user interface 302. The flight expert app 336 may beexecuted according to a user intent execution context corresponding tothe Vegas entity 308, the book flight action (e.g., 318 FIG. 3A), and/orthe supplemental content 312. For example, the flight expert app 336 mayutilize a destination city parameter, a departure city parameter, adeparture date, and/or other parameters not illustrated in order toperform the book flight action 318. A value of Vegas, identified by theVegas entity 308, may be assigned to the destination city parameter. Avalue of Ohio 350, identified by the supplemental content 312, may beassigned to the departure city parameter. The destination city parameterand the departure city parameter may be included within the user intentexecution context. The user intent execution context may be passed tothe flight expert app 336 for execution. In this way, the flight expertapp 336 may be opened to a state that may be contextually relevant tothe user (e.g., the flight expert app 336 may be opened to a flightreservation action form having Vegas and Ohio already populated withinthe flight reservation action form).

FIG. 4A illustrates an example of a system 400 configured for providingaccess to a third party app native version executed according to a userintent execution context derived from email content. The system 400 maycomprise a task determination component 406 and/or an action brokercomponent 414. The system 400 may be associated with an email userinterface 402 configured to provide access to one or more emails, suchas an email comprising email content 404. The task determinationcomponent 406 may be configured to analyze the email content 404 (e.g.,text of the email content 404 may be parsed) to identify one or moreentities. For example, a stock entity 408 and/or other entities may beidentified based upon the email content 404. The task determinationcomponent 406 may be configured to determine a user intent 410 toaccomplish one or more tasks based upon the stock entity 408, the emailcontent 404, and/or supplemental content (e.g., a user profileindicating that the user owns a significant amount of stock of Company(X)). In an example, a stock quote task, a sell stock task, and/or othertasks may be determined.

The action broker component 414 may be configured to identify one ormore actions that may be used to accomplish the one or more tasks. Forexample, a stock quote action 418 may be used to accomplish the stockquote task and/or the sell stock task. The action broker component 414may be configured to present the one or more actions through the emailuser interface 402 (e.g., presenting 424 through an action selectioninterface 416 hosted within the email user interface 402). The actionbroker component 414 may be configured to identify one or more thirdparty apps capable of performing the one or more actions. In an example,a stock evaluation app 420 may be identified as being capable ofperforming the stock quote action 418. In this way, the action brokercomponent 414 may present the one or more third party apps within theemail user interface 402 without transitioning a user away from animmersive email experience provided by the email user interface 402(e.g., presenting 424 through the action selection interface 416).

In an example, the sell stock task may be determined as corresponding toan importance threshold 412 and/or a threshold amount of information426. In an example of the importance threshold 412, an importance metricfor the sell stock task (e.g., a metric value based upon an importancefeature for the sell stock task and/or based upon supplemental contentindicating that the user owns over a certain dollar amount of Company(X) stock) may exceed the importance threshold 412. In an example of thethreshold amount of information 426, a content volume metric for thesell stock task (e.g., based upon an amount of information that is to bepresented to the user to accomplish the sell stock task, such as companyrecords, public announcements, price history data, stock forecasts, usercomments, and/or a variety of the information) may exceed the thresholdamount of information 426. Accordingly, a link 422 to a third party appnative version (e.g., a desktop version, a mobile operating systemversion, and/or a website version of the stock evaluation app, etc.)that is capable of executing outside of the email user interface 402 maybe presented. In this way, if the stock evaluation app 420 is unable toprovide the user with a robust experience (e.g., unable to display anadequate amount of information) through the email user interface 402,then the user may utilize the link 422 to access the stock evaluationapp native version (e.g., illustrated in FIG. 4B).

FIG. 4B illustrates an example of a system 430 configured for providingaccess to a third party app native version executed according to a userintent execution context derived from email content. It may beappreciated that in an example, the system 430 corresponds to the system400 of FIG. 4A. For example, the system 430 may comprise a taskdetermination component 406 and/or an action broker component 414. Thesystem 430 may be associated with an email user interface (e.g., 402FIG. 4A) configured to provide access to one or more emails, such as anemail comprising email content (e.g., 404 FIG. 4A). In an example, thetask determination component 406 may have identified a stock entity 408associated with the email content 404, and the action broker component414 may have presented one or more third party apps capable ofperforming an action to accomplish a task associated with the stockentity 408. The action broker component 414 may have presented a link(e.g., 422 FIG. 4A) to a stock evaluation native app (e.g., stockevaluation user interface 436) capable of executing outside the emailuser interface. The link may have been presented based upon a sell stockaction, associated with the stock entity 408, corresponding to animportance threshold 412 (e.g., the sale of stock in Company (X) mayexceed some threshold valuation) and/or a threshold amount ofinformation 426 (e.g., the sale of stock in Company (X) may entailpresenting a user with a relatively large volume of information that maynot be adequately presented through the email user interface).

The action broker component 414 may be configured to receive a selection432 of the link presented through the email user interface (e.g., 402FIG. 4A). In an example where a stock evaluation app is not alreadyexecuting through the email user interface, a user may be redirectedfrom the email user interface to the stock evaluation user interface 436executing outside of the email user interface. In an example where thestock evaluation app is already executing through the email userinterface, the execution of the stock evaluation app within the emailuser interface may be transitioned 434 to an execution of the stockevaluation app within the stock evaluation user interface 436 executingoutside of the email user interface.

A user intent execution context may be passed to the stock evaluationuser interface 436 for execution. The user intent execution context maycomprise one or more parameters having values derived from the emailcontent (e.g., the stock entity 408, a Company (X) entity, etc.) and/orsupplemental content (e.g., shareholder information for the useraccessible through a device hosting the email user interface). In thisway, the stock evaluation user interface may be opened to an immersivestate that may be contextually relevant to the user (e.g., the stockevaluation user interface 436 may display information associated withthe Company (X) entity as opposed to generic stock information)

Still another embodiment involves a computer-readable medium comprisingprocessor-executable instructions configured to implement one or more ofthe techniques presented herein. An exemplary computer-readable mediumthat may be devised in these ways is illustrated in FIG. 5, wherein theimplementation 500 comprises a computer-readable medium 516 (e.g., aCD-R, DVD-R, or a platter of a hard disk drive), on which is encodedcomputer-readable data 514. This computer-readable data 514 in turncomprises a set of computer instructions 512 configured to operateaccording to one or more of the principles set forth herein. In one suchembodiment 500, the processor-executable computer instructions 512 maybe configured to perform a method 510, such as at least some of theexemplary method 100 of FIG. 1, for example. In another such embodiment,the processor-executable instructions 512 may be configured to implementa system, such as at least some of the exemplary system 200 of FIG. 2A,at least some of the exemplary system 230 of FIG. 2B, at least some ofthe exemplary system 300 of FIG. 3A, at least some of the exemplarysystem 330 of FIG. 3B, at least some of the exemplary system 400 of FIG.4A, and/or at least some of the exemplary system 430 of FIG. 4B, forexample. Many such computer-readable media may be devised by those ofordinary skill in the art that are configured to operate in accordancewith the techniques presented herein.

Although the subject matter has been described in language specific tostructural features and/or methodological acts, it is to be understoodthat the subject matter defined in the appended claims is notnecessarily limited to the specific features or acts described above.Rather, the specific features and acts described above are disclosed asexample forms of implementing the claims.

As used in this application, the terms “component,” “module,” “system”,“interface”, and the like are generally intended to refer to acomputer-related entity, either hardware, a combination of hardware andsoftware, software, or software in execution. For example, a componentmay be, but is not limited to being, a process running on a processor, aprocessor, an object, an executable, a thread of execution, a program,and/or a computer. By way of illustration, both an application runningon a controller and the controller can be a component. One or morecomponents may reside within a process and/or thread of execution and acomponent may be localized on one computer and/or distributed betweentwo or more computers.

Furthermore, the claimed subject matter may be implemented as a method,apparatus, or article of manufacture using standard programming and/orengineering techniques to produce software, firmware, hardware, or anycombination thereof to control a computer to implement the disclosedsubject matter. The term “article of manufacture” as used herein isintended to encompass a computer program accessible from anycomputer-readable device, carrier, or media. Of course, those skilled inthe art will recognize many modifications may be made to thisconfiguration without departing from the scope or spirit of the claimedsubject matter.

FIG. 6 and the following discussion provide a brief, general descriptionof a suitable computing environment to implement embodiments of one ormore of the provisions set forth herein. The operating environment ofFIG. 6 is only an example of a suitable operating environment and is notintended to suggest any limitation as to the scope of use orfunctionality of the operating environment. Example computing devicesinclude, but are not limited to, personal computers, server computers,hand-held or laptop devices, mobile devices (such as mobile phones,Personal Digital Assistants (PDAs), media players, and the like),multiprocessor systems, consumer electronics, mini computers, mainframecomputers, distributed computing environments that include any of theabove systems or devices, and the like.

Although not required, embodiments are described in the general contextof “computer readable instructions” being executed by one or morecomputing devices. Computer readable instructions may be distributed viacomputer readable media (discussed below). Computer readableinstructions may be implemented as program modules, such as functions,objects, Application Programming Interfaces (APIs), data structures, andthe like, that perform particular tasks or implement particular abstractdata types. Typically, the functionality of the computer readableinstructions may be combined or distributed as desired in variousenvironments.

FIG. 6 illustrates an example of a system 610 comprising a computingdevice 612 configured to implement one or more embodiments providedherein. In one configuration, computing device 612 includes at least oneprocessing unit 616 and memory 618. Depending on the exact configurationand type of computing device, memory 618 may be volatile (such as RAM,for example), non-volatile (such as ROM, flash memory, etc., forexample) or some combination of the two. This configuration isillustrated in FIG. 6 by dashed line 614.

In other embodiments, device 612 may include additional features and/orfunctionality. For example, device 612 may also include additionalstorage (e.g., removable and/or non-removable) including, but notlimited to, magnetic storage, optical storage, and the like. Suchadditional storage is illustrated in FIG. 6 by storage 620. In anembodiment, computer readable instructions to implement one or moreembodiments provided herein may be in storage 620. Storage 620 may alsostore other computer readable instructions to implement an operatingsystem, an application program, and the like. Computer readableinstructions may be loaded in memory 618 for execution by processingunit 616, for example.

The term “computer readable media” as used herein includes computerstorage media. Computer storage media includes volatile and nonvolatile,removable and non-removable media implemented in any method ortechnology for storage of information such as computer readableinstructions or other data. Memory 618 and storage 620 are examples ofcomputer storage media. Computer storage media includes, but is notlimited to, RAM, ROM, EEPROM, flash memory or other memory technology,CD-ROM, Digital Versatile Disks (DVDs) or other optical storage,magnetic cassettes, magnetic tape, magnetic disk storage or othermagnetic storage devices, or any other medium which can be used to storethe desired information and which can be accessed by device 612. Anysuch computer storage media may be part of device 612.

Device 612 may also include communication connection(s) 626 that allowsdevice 612 to communicate with other devices. Communicationconnection(s) 626 may include, but is not limited to, a modem, a NetworkInterface Card (NIC), an integrated network interface, a radio frequencytransmitter/receiver, an infrared port, a USB connection, or otherinterfaces for connecting computing device 612 to other computingdevices. Communication connection(s) 626 may include a wired connectionor a wireless connection. Communication connection(s) 626 may transmitand/or receive communication media.

The term “computer readable media” may include communication media.Communication media typically embodies computer readable instructions orother data in a “modulated data signal” such as a carrier wave or othertransport mechanism and includes any information delivery media. Theterm “modulated data signal” may include a signal that has one or moreof its characteristics set or changed in such a manner as to encodeinformation in the signal.

Device 612 may include input device(s) 624 such as keyboard, mouse, pen,voice input device, touch input device, infrared cameras, video inputdevices, and/or any other input device. Output device(s) 622 such as oneor more displays, speakers, printers, and/or any other output device mayalso be included in device 612. Input device(s) 624 and output device(s)622 may be connected to device 612 via a wired connection, wirelessconnection, or any combination thereof. In an embodiment, an inputdevice or an output device from another computing device may be used asinput device(s) 624 or output device(s) 622 for computing device 612.

Components of computing device 612 may be connected by variousinterconnects, such as a bus. Such interconnects may include aPeripheral Component Interconnect (PCI), such as PCI Express, aUniversal Serial Bus (USB), firewire (IEEE 1394), an optical busstructure, and the like. In another embodiment, components of computingdevice 612 may be interconnected by a network. For example, memory 618may be comprised of multiple physical memory units located in differentphysical locations interconnected by a network.

Those skilled in the art will realize that storage devices utilized tostore computer readable instructions may be distributed across anetwork. For example, a computing device 630 accessible via a network628 may store computer readable instructions to implement one or moreembodiments provided herein. Computing device 612 may access computingdevice 630 and download a part or all of the computer readableinstructions for execution. Alternatively, computing device 612 maydownload pieces of the computer readable instructions, as needed, orsome instructions may be executed at computing device 612 and some atcomputing device 630.

Various operations of embodiments are provided herein. In an embodiment,one or more of the operations described may constitute computer readableinstructions stored on one or more computer readable media, which ifexecuted by a computing device, will cause the computing device toperform the operations described. The order in which some or all of theoperations are described should not be construed as to imply that theseoperations are necessarily order dependent. Alternative ordering will beappreciated by one skilled in the art having the benefit of thisdescription. Further, it will be understood that not all operations arenecessarily present in each embodiment provided herein.

Moreover, the word “exemplary” is used herein to mean serving as anexample, instance, or illustration. Any aspect or design describedherein as “exemplary” is not necessarily to be construed as advantageousover other aspects or designs. Rather, use of the word exemplary isintended to present concepts in a concrete fashion. As used in thisapplication, the term “or” is intended to mean an inclusive “or” ratherthan an exclusive “or”. That is, unless specified otherwise, or clearfrom context, “X employs A or B” is intended to mean any of the naturalinclusive permutations. That is, if X employs A; X employs B; or Xemploys both A and B, then “X employs A or B” is satisfied under any ofthe foregoing instances. In addition, the articles “a” and “an” as usedin this application and the appended claims may generally be construedto mean “one or more” unless specified otherwise or clear from contextto be directed to a singular form. Also, at least one of A and B and/orthe like generally means A or B or both A and B.

Also, although the disclosure has been shown and described with respectto one or more implementations, equivalent alterations and modificationswill occur to others skilled in the art based upon a reading andunderstanding of this specification and the annexed drawings. Thedisclosure includes all such modifications and alterations and islimited only by the scope of the following claims. In particular regardto the various functions performed by the above described components(e.g., elements, resources, etc.), the terms used to describe suchcomponents are intended to correspond, unless otherwise indicated, toany component which performs the specified function of the describedcomponent (e.g., that is functionally equivalent), even though notstructurally equivalent to the disclosed structure which performs thefunction in the herein illustrated exemplary implementations of thedisclosure. In addition, while a particular feature of the disclosuremay have been disclosed with respect to only one of severalimplementations, such feature may be combined with one or more otherfeatures of the other implementations as may be desired and advantageousfor any given or particular application. Furthermore, to the extent thatthe terms “includes”, “having”, “has”, “with”, or variants thereof areused in either the detailed description or the claims, such terms areintended to be inclusive in a manner similar to the term “comprising.”

What is claimed is:
 1. A method for providing predicted actions throughan email user interface, comprising: analyzing e-mail content todetermine two or more actions to be performed, wherein analyzing emailcontent includes determining a user intent; based on the analysis,displaying, within the e-mail user interface, a first selectable link toa first third-party service to complete a first determined action fromthe determined two or more actions; based on the analysis, displaying,within the e-mail user interface, a second selectable link to a secondthird-party service to complete a second determined action from thedetermined two or more actions; receiving a selection of the firstselectable link; and upon receiving the selection of the firstselectable link, causing the first third-party service to be launchedoutside of the e-mail user interface.
 2. The method of claim 1, whereinthe displaying the second selectable link is based on an importancemetric exceeding an importance threshold.
 3. The method of claim 2,wherein the importance threshold is based on a threshold amount ofinformation to be presented.
 4. The method of claim 1, furthercomprising: identifying, in the e-mail content, a parameter used forexecution of the first determined action; and passing the parameter tothe first third-party service.
 5. The method of claim 1, furthercomprising selecting the first third-party service based uponsupplemental content derived from at least one of information associatedwith a user device hosting the email user interface, a user profile, ora user preference.
 6. The method of claim 1, wherein the firstthird-party service and the second third-party service providefunctionality associated with at least one of a consumer good purchasetask, a reservation task, an obtain directions task, an access digitalcontent task, a social network task, or an obtain additional informationrelated to the entity task.
 7. The method of claim 1, furthercomprising: receiving a selection of the second selectable link; inresponse to receiving a selection of the second selectable link,displaying the third party application within a first portion of theemail user interface; and displaying the email content within a secondportion of the email user interface.
 8. A method for providing predictedactions through an email user interface, comprising: analyzing e-mailcontent to determine a first action to be performed, wherein analyzingemail content includes determining a user intent based on at least oneof: textual email content and user context data; identifying animportance metric for the determined first action; comparing theimportance metric for the determined action to an importance thresholdfor the determined first action; based on the comparison of theimportance metric to the importance threshold, displaying, within thee-mail user interface, a first selectable link to a first third-partyservice to complete the first determined action; receiving a selectionof the first selectable link; and upon receiving the selection of thefirst selectable link, causing the first third-party service to belaunched.
 9. The method of claim 8, wherein the first third-partyservice to be launched outside of the e-mail user interface.
 10. Themethod of claim 8, further comprising: analyzing the e-mail content todetermine a second action to be performed; and displaying, within thee-mail user interface, a second selectable link to a second third-partyservice to complete a second determined action.
 11. The method of claim8, further comprising: identifying, in the e-mail content, a parameterused for execution of the first determined action; and passing theparameter to the first third-party service.
 12. The method of claim 8,further comprising selecting the first third-party service based uponsupplemental content derived from at least one of information associatedwith a user device hosting the email user interface, a user profile, ora user preference.
 13. The method of claim 8, wherein the firstthird-party service provides functionality associated with at least oneof a consumer good purchase task, a reservation task, an obtaindirections task, an access digital content task, a social network task,or an obtain additional information related to the entity task.
 14. Asystem for providing predicted action through an email user interface,the system comprising: at least one processor, and memory storinginstructions that when executed by the at least one processor perform aset of operations comprising: analyzing e-mail content to determine twoor more actions to be performed; based on the analysis, displaying,within the e-mail user interface, a first selectable link to a firstservice, capable of providing a first non-e-mail related functionality,to complete a first determined action; based on the analysis,displaying, within the e-mail user interface, a second selectable linkto a second service, capable of providing a second non-e-mail relatedfunctionality, to complete a second determined action, wherein the firstdetermined action is different from the second determined action, andthe first non-email related functionality is different from the secondnon-e-mail related functionality; receiving a selection of the firstselectable link; and upon receiving the selection of the firstselectable link, causing the first service to be launched outside of thee-mail user interface.
 15. The system of claim 14, wherein thedisplaying the second selectable link is based on an importance metricexceeding an importance threshold.
 16. The system of claim 15, whereinthe importance threshold is based on a threshold amount of informationto be presented.
 17. The system of claim 14, wherein the operationsfurther comprise: identifying, in the e-mail content, a parameter usedfor execution of the first determined action; and passing the parameterto the first service.
 18. The system of claim 14, wherein the operationsfurther comprise selecting the first service based upon supplementalcontent derived from at least one of information associated with a userdevice hosting the email user interface, a user profile, or a userpreference.
 19. The system of claim 14, wherein the first service andthe second service provide functionality associated with at least one ofa consumer good purchase task, a reservation task, an obtain directionstask, an access digital content task, a social network task, or anobtain additional information related to the entity task.
 20. The systemof claim 14, wherein the operations further comprise: receiving aselection of the second selectable link; in response to receiving aselection of the second selectable link, displaying the second servicewithin a first portion of the email user interface; and displaying theemail content within a second portion of the email user interface.